home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Telecom / STR-TERM-1.2.SRC.ARC / TERM MODE (.txt) next >
Commodore BASIC  |  2019-04-13  |  5KB  |  181 lines

  1. 100 *= $8000
  2. 110 ;
  3. 120 .D TERM
  4. 130 ;-------------------------------
  5. 140 ;TERMINAL MODE FOR ST/R TERMINAL
  6. 150 ;           V1.2
  7. 155 ;    NOW INCLUDES IBM ANSI
  8. 160 ;-------------------------------
  9. 170 ;
  10. 180 DC = 51972
  11. 190 BU = 51973
  12. 200 TEMP = 51976
  13. 210 SI = 54272
  14. 220 OUTIT = 51997
  15. 230 CHKIN = $FFC6
  16. 240 CHKOUT = $FFC9
  17. 250 CLRCHN = $FFCC
  18. 260 PRINT = $FFD2
  19. 270 GETIN = $FFE4
  20. 280 PLOT = $FFF0
  21. 290 CLOSE = $FFC3
  22. 300 CHRIN = $FFCF
  23. 310 ;
  24. 320 JMP START
  25. 330 JMP UPLOAD
  26. 340 JMP DOWNLOAD
  27. 350 JMP ASCTOPET
  28. 360 JMP PETTOASC
  29. 370 ;
  30. 380 CA .BYTE 0
  31. 390 CG .BYTE 0
  32. 400 DU .BYTE 0
  33. 410 TRANS .BYTE 0
  34. 420 ANSI .BYTE 1
  35. 430 ;
  36. 440 START JSR CLRCHN:LDX #5:JSR CHKIN
  37. 450 JSR GETIN:STA TEMP:JSR CLRCHN
  38. 460 LDA TEMP:BEQ KEYBRD:LDX CG
  39. 470 BNE CGMDE:JSR ASCTOPET:STA TEMP
  40. 480 CGMDE CMP #7:BNE NOBELL
  41. 490 JSR BELL:JMP START
  42. 500 NOBELL CMP #12:BEQ CLEAR
  43. 510 CMP #27:BNE NOESC
  44. 520 LDA ANSI:BEQ NOESC
  45. 530 JSR ESC:JMP START+3
  46. 540 NOESC CMP #19:BNE NOCLEAR
  47. 550 CLEAR LDA #147:STA TEMP
  48. 560 NOCLEAR JSR OUTIT
  49. 570 JSR PRTCR
  50. 580 KEYBRD JSR GETIN
  51. 590 BEQ START+3:STA TEMP:LDA 653:CMP #5
  52. 600 BNE NOPW:PW RTS:NOPW LDA TEMP
  53. 610 CMP #7:BNE NOTBELL:JSR BELL
  54. 620 NOTBELL CMP #133:BEQ PW
  55. 630 CMP #134:BNE NOTF3
  56. 640 LDA DU:EOR #1:STA DU:LDA 1039:EOR #128:STA 1039:JMP START
  57. 650 NOTF3 CMP #135:BNE NOTF5
  58. 660 LDA BU:EOR #1:STA BU:LDA 1043:EOR #128:STA 1043
  59. 670 LDA #0:STA DC:LDA 1041:AND #127:STA 1041
  60. 680 LDA #1:JSR CLOSE:JMP START
  61. 690 NOTF5 CMP #136:BNE NOTF7
  62. 700 LDA CA:EOR #1:STA CA:LDA 1047:EOR #128:STA 1047:JMP START
  63. 710 NOTF7 CMP #137:BEQ PW
  64. 720 CMP #138:BNE NOTF4
  65. 730 LDA BU:EOR #1:STA BU:LDA 1043:EOR #128:STA 1043
  66. 740 LDA DC:EOR #1:STA DC:LDA 1041:EOR #128:STA 1041:JMP START
  67. 750 NOTF4 CMP #139:BNE NOTF6
  68. 760 LDA CG:EOR #1:STA CG:LDA 1045:EOR #128:STA 1045:JMP START
  69. 770 NOTF6 CMP #140:BEQ PW1
  70. 780 CMP #166:BEQ PW1
  71. 790 CMP #220:BEQ PW1
  72. 800 CMP #176:BNE PW2
  73. 810 PW1 JMP PW
  74. 820 PW2 LDX CA:BEQ NOCAPS
  75. 830 CMP #65:BCC NOCAPS
  76. 840 CMP #91:BCS NOCAPS
  77. 850 ORA #$80:STA TEMP
  78. 860 NOCAPS LDX DU:BEQ FULLDU
  79. 870 JSR OUTIT:JSR PRTCR
  80. 880 FULLDU LDX CG:BNE CGMDE2
  81. 890 LDA TEMP:JSR PETTOASC:STA TEMP
  82. 900 CGMDE2 LDX #5:JSR CHKOUT
  83. 910 LDA TEMP:JSR PRINT:JSR CLRCHN
  84. 920 JMP START
  85. 930 ;
  86. 940 PRTCR LDA #164:JSR PRINT
  87. 950 LDA #157:JSR PRINT:RTS
  88. 960 ;
  89. 970 ASCTOPET JSR BASICOUT
  90. 980 TAY:LDA $AE00,Y:STA TEMP
  91. 990 JSR BASICIN:RTS
  92. 1000 ;
  93. 1010 PETTOASC JSR BASICOUT
  94. 1020 TAY:LDA $AF00,Y:STA TEMP
  95. 1030 JSR BASICIN:RTS
  96. 1040 ;
  97. 1050 BASICOUT LDX #54:STX 1:RTS
  98. 1060 ;
  99. 1070 BASICIN LDX #55:STX 1:RTS
  100. 1080 ;
  101. 1090 BELL LDA #21:STA SI+4:LDX #$FF
  102. 1100 LOOP1 DEX:BNE LOOP1
  103. 1110 LDA #20:STA SI+4:RTS
  104. 1120 ;
  105. 1130 UPLOAD LDY #0:LDX #50:DEX:BNE UPLOAD+2
  106. 1140 LDX #1:JSR CHKIN:JSR CHRIN
  107. 1150 STA TEMP:LDA 144
  108. 1160 STA 2:JSR CLRCHN
  109. 1170 LDX #5:JSR CHKOUT:LDA TEMP
  110. 1180 STA $0400,Y
  111. 1190 INY:JSR PRINT:JSR CLRCHN:JSR GETIN
  112. 1200 CMP #3:BEQ ABORT:LDA 2:AND #64
  113. 1210 BEQ UPLOAD+2
  114. 1220 ;
  115. 1230 EOF LDX #5:JSR CHKOUT:LDY #10
  116. 1240 LDA #26:LOOP3 JSR PRINT
  117. 1250 DEY:BNE LOOP3:JSR CLRCHN:RTS
  118. 1260 ;
  119. 1270 DOWNLOAD LDY #0:LDX #5:JSR CHKIN
  120. 1280 LOOP4 JSR GETIN:CMP #0:BEQ LP2:STA TEMP
  121. 1290 JSR CLRCHN:LDA TEMP:CMP #26
  122. 1300 BEQ EOF:CMP #24:BEQ ABORT
  123. 1310 LDX TRANS:BEQ NOTRANS
  124. 1320 STY 2:JSR ASCTOPET:LDY 2:STA TEMP
  125. 1330 NOTRANS LDX #1:JSR CHKOUT:LDA TEMP
  126. 1340 STA $0400,Y:INY
  127. 1350 JSR PRINT:LP2 JSR CLRCHN:JSR GETIN
  128. 1360 CMP #3:BEQ ABORT:BNE DOWNLOAD+2
  129. 1370 ;
  130. 1380 ABORT LDX #5:JSR CHKOUT:LDY #10
  131. 1390 LDA #24:LOOP2 JSR PRINT
  132. 1400 DEY:BNE LOOP2:JSR CLRCHN:RTS
  133. 1410 ;
  134. 1420 ESC LDX #5:JSR CHKIN:LDA #0:STA AN
  135. 1430 TAY:STA ANAR,Y:LDA #32:JSR PRINT
  136. 1440 LDA #$9D:JSR PRINT
  137. 1450 LOOPD JSR KEYS:JSR GETIN:CMP #0:BEQ LOOPD
  138. 1460 LOOPE JSR KEYS:JSR GETIN:CMP #0:BEQ LOOPE
  139. 1470 STA TEMP:CMP #59:BNE LOOPE1
  140. 1480 INC AN:LDY AN:LDA #0:STA ANAR,Y:BEQ LOOPE
  141. 1490 LOOPE1 LDA CG:BNE LOOPE2
  142. 1500 LDA TEMP:JSR ASCTOPET:STA TEMP
  143. 1510 LOOPE2 LDA TEMP:CMP #"M
  144. 1520 BNE LOOPE5:JMP COL[176]S
  145. 1590 LOOPE5 CMP #193:BNE LOOPE6
  146. 1600 LDY #0:LDA ANAR,Y:TAY:LDA #145
  147. 1610 LOOPE5A JSR [153]:DEY:BNE LOOPE5A
  148. 1620 RTS:LOOPE6 CMP #194:BNE LOOPE7
  149. 1630 LDY #0:LDA ANAR,Y:TAY:LDA #17
  150. 1640 BNE LOOPE5A:LOOPE7 CMP #195
  151. 1650 BNE LOOPE8:LDY #0:LDA ANAR,Y:TAY
  152. 1660 LDA #29:BNE LOOPE5A
  153. 1670 LOOPE8 CMP #196:BNE LOOPF2
  154. 1680 LDY #0:LDA ANAR,Y:TAY:LDA #157
  155. 1690 BNE LOOPE5A
  156. 1740 LOOPF2 CMP #202:BNE LOOPF3:LDA #147
  157. 1750 JMP [153]:LOOPF3 CMP #$30
  158. 1760 BCC LOOPF4:CMP #$3A:BCS LOOPF4
  159. 1770 STA TEMP:LDY AN:LDA ANAR,Y
  160. 1780 STA $FB:ASL:ASL:ASL:CLC
  161. 1790 ADC $FB:CLC:ADC $FB:STA ANAR,Y
  162. 1800 LDA TEMP
  163. 1810 [175] #$0F:CLC:LDY AN:ADC ANAR,Y
  164. 1820 STA ANAR,Y:JMP LOOPE
  165. 1830 LOOPF4 RTS
  166. 1840 COL[176]S LDY #255:INY:LDA ANAR,Y
  167. 1850 CMP #29:BCC NCOL[176]
  168. 1860 SEC:SBC #30
  169. 1870 CMP #9:BCS NCOL[176]:TAX
  170. 1880 LDA [156]S,X:STA 646
  171. 1890 NCOL[176] CPY AN:BNE COL[176]S[170]2:RTS
  172. 1900 KEYS JSR [156]CHN:JSR [161]IN:CMP #0
  173. 1910 BEQ N[145]E:PLA:PLA:RTS
  174. 1920 N[145]E LDX #5:JSR CHKIN:RTS
  175. 1930 ;
  176. 1960 AN .BYTE 0
  177. 1970 [156]S .BYTE 0 2 5 7 6 4 3 1
  178. 1980 ANAR .BYTE 0 0 0 0 0 0 0 0 0 0
  179. 1990 ;
  180. 2000 .[128] TERM MODE
  181.